为了账号安全,请及时绑定邮箱和手机立即绑定

mysql数据库差异比较的PHP代码

标签:
PHP

这天遇见个需求:由于升级系统 这些系统从A库升级到B库,但是不知道数据库添加了哪些字段和增加了哪些表


当然可以去PHPMYADMIN里浏览一下。但是终究有遗漏吧。所以自己写了个,比较数据库差异的脚本(PHP的),方便一下自己。当然代码很简单,就不讲解了,贴代码:

复制代码 代码如下:

<?

mysql_connect('localhost','root','root');

mysql_select_db('tablea'); //标准的数据库

$q = mysql_query("show tables");

while($s = mysql_fetch_array($q)){

$name = $s[0];

$q1 = mysql_query("desc $name");

while ($s1 = mysql_fetch_array($q1)) {

$a[$name][] =$s1[0];

}

}

mysql_close();

mysql_connect('localhost','root','root');

mysql_select_db('tableb');//需要比较的数据库

$q2 = mysql_query("show tables");

while($s2 = mysql_fetch_array($q2)){

$name2= $s2[0];

$q3 = mysql_query("desc $name2");

while ($s3 = mysql_fetch_array($q3)) {

$aa[$name2][] =$s3[0];

}

}

mysql_close();

$f = $e = array();

$str = $fuhao ='';

foreach($a as $k=>$v){

if(!is_array($aa[$k])){

$e[] = $k;

}

else{

if(count($aa[$k]) <> count($v)){

foreach($v as $k1=>$v1){

if(!in_array($v1,$aa[$k])){

$f[$k][] = $v1;

}

}

}

}

}

echo "<pre>";

print_r($e);//缺少表

print_r($f);//缺少表的字段

?>


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消